package main

import (
	"fmt"
	"plugin"
)

var V int

func F() { fmt.Printf("Hello, number %d\n", V) }

// 无法找寻
func asdasd() {
	//may be loaded with the [Open] function and then the exported package
	//symbols V and F can be accessed

	p, err := plugin.Open("plugin_name.so")
	if err != nil {
		panic(err)
	}
	v, err := p.Lookup("V")
	if err != nil {
		panic(err)
	}
	f, err := p.Lookup("F")
	if err != nil {
		panic(err)
	}
	*v.(*int) = 7
	f.(func())() // prints "Hello, number 7"
}
